package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房产资产对象 t_house_assets
 * 
 * @author ruoyi
 * @date 2024-03-13
 */
@Data
public class THouseAssets extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 土地资产ID */
    @Excel(name = "土地资产ID")
    private String landAssetsId;

    /** 房产类型：如标准厂房、安置房等，见数据字典house_assets_type */
    @Excel(name = "房产类型：如标准厂房、安置房等，见数据字典house_assets_type")
    private Long type;

    /** 资产用途：如住宅、商业、车位等，见数据字典house_assets_purpose */
    @Excel(name = "资产用途：如住宅、商业、车位等，见数据字典house_assets_purpose")
    private String purpose;

    /** 项目编号：见数据字典house_assets_project */
    @Excel(name = "项目编号：见数据字典house_assets_project")
    private String projectNo;

    /** 商业用途：如租赁、免费使用等，见数据字典house_assets_commercial_purpose */
    @Excel(name = "商业用途：如租赁、免费使用等，见数据字典house_assets_commercial_purpose")
    private Long commercialPurpose;

    /** 资产编号 */
    @Excel(name = "资产编号")
    private String code;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String name;

    /** 资产地址 */
    @Excel(name = "资产地址")
    private String address;

    /** 区域位置 */
    @Excel(name = "区域位置")
    private String position;

    /** 使用状态：0未出租（未安置）1已出租（已安置） */
    @Excel(name = "使用状态：0未出租", readConverterExp = "未=安置")
    private Integer state;

    /** 楼层分布 */
    @Excel(name = "楼层分布")
    private String distribute;

    /** 建筑面积（m2） */
    @Excel(name = "建筑面积", readConverterExp = "m=2")
    private BigDecimal acreage;

    /** 房屋结构 */
    @Excel(name = "房屋结构")
    private String structure;

    /** 修建年代 */
    @Excel(name = "修建年代")
    private String buildingTime;

    /** 竣工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "竣工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completedTime;

    /** 建设单位 */
    @Excel(name = "建设单位")
    private String buildingCompany;

    /** 管理单位 */
    @Excel(name = "管理单位")
    private String adminCompany;

    /** 完好等级 */
    @Excel(name = "完好等级")
    private String level;

    /** 是否整体交付：0否1是 */
    @Excel(name = "是否整体交付：0否1是")
    private Integer overallDelivery;

    /** 未交付原因 */
    @Excel(name = "未交付原因")
    private String noDeliveryCause;

    /** 容积率 */
    @Excel(name = "容积率")
    private String plotRatio;

    /** 产权证号 */
    @Excel(name = "产权证号")
    private String propertyRightCard;

    /** 使用期限 */
    @Excel(name = "使用期限")
    private String deadline;

    /** 证书登记日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证书登记日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cardRecordDate;

    /** 证件位置 */
    @Excel(name = "证件位置")
    private String cardPlace;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 测绘机构 */
    @Excel(name = "测绘机构")
    private String surveyCompany;

    /** 测绘报告 */
    @Excel(name = "测绘报告")
    private String surveyReport;

    /** 创建者ID */
    @Excel(name = "创建者ID")
    private Long createUserId;

    /** 最后更新者ID */
    @Excel(name = "最后更新者ID")
    private Long updateUserId;

    /** 删除标记(0正常1删除) */
    private Integer delFlag;

    /** 车位数量 */
    @Excel(name = "车位数量")
    private Long parkingLotAmount;

    /** 已出租车位数量 */
    @Excel(name = "已出租车位数量")
    private Long parkingLotUsed;

    /** 闲置车位数量 */
    @Excel(name = "闲置车位数量")
    private Long parkingLotRemanent;

    /** 已使用面积（m2） */
    @Excel(name = "已使用面积", readConverterExp = "m=2")
    private BigDecimal usedAcreage;

    /** 层高 */
    @Excel(name = "层高")
    private BigDecimal floorHeight;

    /** 承重能力(kg/m^2) */
    @Excel(name = "承重能力(kg/m^2)")
    private BigDecimal bearingCapacity;
}
